Objektorientierte Programmierung Beschreibung Objektorientierte Programmierung  
 
   
Beschreibung von Objektorientierte Programmierung Infos zu Objektorientierte Programmierung und Beschreibung.
Nicht angemeldet: Anmelden | Impressum 
Navigation
· Hauptseite
· Know Forum - neu!
· Zufälliger Artikel
· Spezialseiten
· Alle Artikel
· Eingeordnet unter
Aktueller Artikel
· Seite bearbeiten
· Links auf diese Seite
· Verlinkte Seiten
· Versionen


 
 



Letzte Beiträge
Die Klimalüge CO2Sehr geehrte Damen und Her
ren. Meine ...
Volumenausdehnung be...Hallo da draußen, ich h
abe folgendes ...
Osterrätsel der Fran...Hallo, ich hab' mich leide
r mit meinere ...
was ist denn mit dem...Hallo, der Song heißt Cal
istan "...
Strichcode entschlüs...Hallo benni, ich stehe
gerade vor dem...
Lust auf Focus Rätse...Hallo, an alle Spezialist
en dieses Räts...
ErdölServus, Erdöl hat keine
Formel, da es...
Frage an die Student...Hallo, im Prinzip ist das
eine gute Ide...
CO2 chemische Trennu...Hallo ....... CO2 in der
Luft wird begr...
IGBT ansteuerschaltu...Guten Tag, Wer weiss lief
ert eine funk...


Objektorientierte Programmierung

Dieser Text beschreibt Objektorientierte Programmierung.


Der untere Text beinhaltet die Objektorientierte Programmierung Beschreibung. Soweit es sich um ein definierbares Objekt handelt, sollte hier eine Objektorientierte Programmierung Definition vorhanden sein. Sollte eine Definition von Objektorientierte Programmierung fehlen, kann diese von Ihnen verfaßt werden. Wir sind bestrebt die Beschreibung von Objektorientierte Programmierung möglichst ausführlich zu halten.

Jeder Text bei Know-Library, sowie ein Teil davon (Definition, Beschreibung etc.), außer Bücher Beschreibungen kann bearbeitet werden. Falls die Beschreibung auf dieser Seite nicht korrekt ist klicken Sie auf 'Beschreibung editieren' um den Text zu korrigieren bzw. neuen einzufügen. Weitere Informationen und Bücher zum Thema Objektorientierte Programmierung Beschreibung , so wie Link zum Forum finden Sie weiter unten. Eine Übersicht der Texte, die das Thema Objektorientierte Programmierung beschreiben finden Sie auf der Seite alle Artikel über Objektorientierte Programmierung. Fragen zu dem Thema Objektorientierte Programmierung können im Forum gestellt werden. Klicken Sie hier um zu dem Forum zu wechseln.

Objektorientierte Programmierung Artikel

Objektorientierte Programmierung (OOP) ist eine Programmiertechnik zur Strukturierung von Computerprogrammen, bei der Daten und deren darauf arbeitende Programmlogik zu Einheiten zusammengefasst werden. Die Einheiten werden "Objekte" genannt, die zugrundeliegenden Definitionen gleicher Sorten von Objekten bezeichnet man als "Klassen".

Inhaltsverzeichnis
Buch-Tipp: Analyse und Design mit UML 2.1 Gut zu dem UML-Lernen Gut zu dem UML-Lernen. Eine Vorstellung von ein paar Softwaretools hätte mir jedoch gefallen und wäre sehr praxistauglich gewesen. Das beiliegende Poster gefällt.

Konzepte der objektorientierten Programmierung

Die folgenden Aspekte werden bei der objektorientierten Programmierung betont. Dabei handelt es sich um eine Zusammenstellung von Konzepten, die es für sich genommen auch schon vor der Erfindung der objektorientierten Programmierung gegeben hat:

  • Objekte: Zusammenfassung von Daten und Funktionalität zu Einheiten innerhalb eines Computerprogramms.
  • Abstraktion: Jedes Objekt in dem System kann als ein abstraktes Modell eines "Arbeiters" betrachtet werden, der Aufträge erledigen kann, seinen Zustand berichten und ändern kann und mit den anderen Objekten in dem System kommunizieren kann, ohne offen legen zu müssen, wie diese Fähigkeiten implementiert sind (vgl. abstrakter Datentyp (ADT)).
  • Kapselung: Auch das "Verbergen von Information" genannt, sorgt dafür, dass Objekte den internen Zustand anderer Objekte nicht in unerwarteter Weise lesen oder ändern können; ca. den eigenen Methoden eines Objektes soll es erlaubt sein, auf den internen Zustand direkt zuzugreifen. Alle Klassen präsentieren nach außen Schnittstellen, die darüber bestimmen, wie andere Objekte mit ihnen interagieren können. Dies verhindert das Umgehen von Invarianten des Programms.
  • Polymorphie: Verschiedene Klassen können auf die gleiche Nachricht unterschiedlich reagieren. Dabei spricht man von Polymorphie.
    Wird die Zuordnung von Nachricht zur Reaktion auf die Nachricht erst zur Laufzeit aufgelöst, dann wird dies auch späte Bindung oder dynamische Bindung genannt.
  • Vererbung: Ermöglicht die Definition neuer Klassen von Objekten auf Basis bereits vorhandener Klassen. Eine bestimmte Art der Polymorphie basiert ebenfalls auf Vererbung. Ohne Verwendung von Vererbung spricht man zur Unterscheidung häufig auch von objektbasierter Programmierung .
Buch-Tipp: C++. Objektorientiertes Programmieren von Anfang an. Gute Einführung zu dem unschlagbaren Preis Das Buch geht sicher nicht auf alle Details der C++ Programmierung ein. Das ist bei dem relativ kleinen Umfang aber auch gar nicht zu erwarten. Die wichtigsten Themen werden jedoch fundiert abgehandelt. Das gelernte wird durch sinnvolle Übungen vertieft. Wirklich empfehlenswert.

Welche Sprachen erlauben objektorientierte Programmierung?

Grundsätzlich kann man durch strikte Einhaltung bestimmter Regeln in jeder Programmiersprache objektorientiert programmieren, jedoch erleichtern und fördern objektorientierte Programmiersprachen dies ungemein.

In der OOP wird ein Programm als Population miteinander kommunizierender und kooperierender Objekte formuliert. Das ist ein Unterschied zu herkömmlichen prozeduralen Programmiersprachen (siehe objektorientiert/prozedural), bei denen Daten und Prozeduren typischerweise getrennt betrachtet werden.

OOP soll Programmierung und Wartung von Programmen und Modulen erleichtern und die Wiederverwendbarkeit von einmal geschriebenem Code erhöhen.

Ab und zu wird dieser Sachverhalt auch so ausgedrückt, dass die OOP den Programmierer dazu anhält, sich in seinem Programm an erster Stelle um die Daten zu kümmern, und in einem zweiten Schritt um die Operationen ("Methoden"), die er für diese spezifischen Daten braucht.

Bei prozeduralen Sprachen denkt der Programmierer zuerst über die Prozeduren nach, und dann erst über die Daten, die von den Prozeduren bearbeitet werden. Prozedurale Programmierer schreiben Funktionen und übergeben ihnen dann Daten. Objektorientierte Programmierer erzeugen (über Klassendefinitionen ) Objekte mit Daten ("Attributen") und Methoden und lassen dann Nachrichten an diese Objekte schicken, die dafür sorgen, dass die so angesprochenen Methoden ausgeführt werden.

Die erste bekannte objektorientierte Programmiersprache ist Simula67 . Später wurden die Prinzipien dann in Smalltalk weiter ausgebaut, wo die Objektorientierung auch ihren Höhepunkt erfuhr. Ein prominenter Vertreter war Turbo Pascal (ab Version 5.5), die heute bekanntesten sind C++, Java und C#.

Die meisten Programmiersprachen erlauben es, verschiedene Programmiertechniken miteinander zu kombinieren. Ab und zu werden dabei bestimmte Prinzipien der objektorientierten Programmierung durchbrochen. Beispielsweise handhaben viele Programmiersprachen das Prinzip der Kapselung nicht ganz so streng und erlauben einen gewissen kontrollierten Direktzugang zu den Interna von Objekten, unter anderem auch durch nicht zur Klasse gehörende Funktionen. Ein Beispiel dafür sind friend-Funktionen in C++. (Auch eine friend-Funktion verletzt jedoch nicht das Prinzip der Kapselung, da sich die Funktion den Zugang zu den Interna nicht selbst verschaffen kann.)== Nennungen == Die Begriffe der objektorientierten Programmierung haben in den verschiedenen Programmiersprachen teilweise unterschiedliche Namen. Folgende Nennungen werden synonym benutzt:

  • Basisklasse = Superklasse = Oberklasse
  • abgeleitete Klasse = Subklasse = Unterklasse
  • Elementfunktion = Methode
  • Datenelement = Attribut, Instanzvariable
Buch-Tipp: Das Einsteigerseminar Objektorientierte Programmierung in Java. Der methodische und ausführliche Einstieg Perfekter Einstieg in Java/OOP für Anfänger und Interessierte Ein intelligenter Aufbau sowie tolle Beispiele und Erklärungen machen dieses Buch zu dem Vergnügen. Hat man noch dazu schon kleine Erfahrungen in Programmiersprachen gesammelt, so liest sich das Buch noch flüssiger. Stellenweise Bedarf es zwar hoher Konzentration, das geschriebene auf...

Geschichte der objektorientierten Programmierung

Denkweise und Begriffe der OOP zeigten sich zuerst in Simula, einer Sprache für Simulationszwecke, die als erste Sprache (damals noch nicht so genannte) objektorientierte Verfahren einführte.

Diese Begriffe und Verfahren wurden später bei Xerox PARC mit der Sprache Smalltalk verfeinert. Entwickelt wurde diese erste Smalltalk-Version in Simula nun als voll dynamisches System, bei dem man Objekte interaktiv erzeugen und ändern konnte – in dem Gegensatz zu dem vorher benutzten System statischer Programme.

OOP begann Mitte der 1980er Jahre populärer zu werden, hauptsächlich durch den Einfluss von C++, das sich dem Programmierer gegenüber gewissermaßen als syntaktische Erweiterung der Sprache C ausgibt. Weiter gefestigt wurde die Stellung der OOP durch die schnell wachsende Beliebtheit der grafischen Bedienoberflächen, die sich objektorientiert sehr gut programmieren lassen.

Seit dieser Zeit wurden für viele existierende Programmiersprachen objektorientierte Erweiterungen geschaffen, z.B. für Ada, BASIC, LISP, Pascal und andere. Das Hinzufügen dieser Erweiterungen zu Sprachen, die ursprünglich nicht für OOP entworfen wurden, kann zu Problemen mit der Kompatibilität und Wartbarkeit von Code führen. "Rein" objektorientierten Sprachen wiederum fehlen gewisse prozedurale Programmiermöglichkeiten, an die sich viele Programmierer inzwischen gewöhnt hatten. Um diese Lücke zu schließen, wurden verschiedene Versuche unternommen, neue objektorientierte Sprachen zu schaffen, die gleichzeitig "sichere" prozedurale Programmierung erlauben. Die Programmiersprache Eiffel war einer der ersten einigermaßen erfolgreichen Versuche in dieser Richtung, wurde inzwischen aber praktisch von Java verdrängt - hauptsächlich durch die Ausbreitung des Internets, für das Java speziell geeignet ist. Einen ähnlichen Ansatz verfolgt die an Java und C++ angelehnte Sprache C#.

Buch-Tipp: Entwurfsmuster. Elemente wiederverwendbarer objektorientierter Software (Programmer's Choice) Standardwerk für Entwickler Der Inhalt dieses Buches gehört meiner Meinung nach zu dem absoluten Grundlagenwissen für jeden Softwareentwickler. Das Wissen über die hier beschriebenen Design Patterns erleichtert die Lösung von Standardproblemen enorm und fördert die Effektivität der Kommunikation in Entwicklungsteams, da ein einheitliches Verständnis...

Umfeld

So wie die Techniken der prozeduralen Programmierung durch Verfahren wie die strukturierte Programmierung verfeinert wurden, so gibt es inzwischen auch Verfeinerungen der OOP durch Methoden wie Entwurfsmuster (englisch design patterns), Design by Contract und grafische Modellierungssprachen wie UML. Einen stets wichtigeren Stellenwert nimmt die funktionale bzw. aspektorientierte Programmierung ein, bei dem Aspekte von Merkmalen und Abhängigkeiten beschrieben werden. Erste Ansätze sind beispielsweise in Java mit J2EE oder der abstrakten Datenhaltung über Persistenz-Layer sichtbar.

Buch-Tipp: Java lernen mit BlueJ. Eine Einführung in die objektorientierte Programmierung Es gibt kein besseres Buch um JAVA und OO zu lernen. . . . . . denn zuerst wird sehr gut das Prinzip der Objektorientierung geübt (anhand von vielen Praxisbeispielen / -aufgaben und erst danach auf JAVA eingegangen. Leichter kann man JAVA nicht lernen, und nach diesem Buch kann man andere Bücher wie die JAVA Insel zu dem programmieren benutzen....

Andere Programmiertechniken

Andere Programmierparadigmen (die sich zu dem Teil mit OOP und untereinander nicht ausschließen) sind folgende:

Buch-Tipp: Lehrbuch der Objektmodellierung. Analyse und Entwurf mit der UML 2 (Spektrum Lehrbücher der Informatik) Sehr gutes Standardwerk mit Schwächen bei OOD Dieses Werk ist als Einführung und Lehrbuch wie als Nachschlagewerk in der konkreten Projektarbeit meiner Meinung nach gleichermaßen gut geeignet. Die übersichtliche Gliederung und die leserorientierte, lernfreundliche Darstellung sind in der Tat beispielhaft und vorbildgebend. Ohne aussageloses Gelaber...

Literatur

  • Grady Booch: Object-Oriented Analysis and Design with Applications, Addison-Wesley, ISBN 0805353402
  • Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides: Design Patterns: Elements of Reusable Object Oriented Software, Addison-Wesley, ISBN 0201633612
  • Bertrand Meyer: Object-Oriented Software Construction, Prentice Hall, ISBN 0136291554
  • James Rumbaugh, Michael Blaha, William Premerlani, Frederick Eddy, William Lorensen: Object-Oriented Modeling and Design, Prentice Hall, ISBN 0136298419
  • Ivar Jacobsen: Object-Oriented Software Engineering: A Use-Case-Driven Approach, Addison-Wesley, ISBN 0201544350
  • Harold Abelson, Gerald Jay Sussman, Julie Sussman: Structure and Interpretation of Computer Programs, The MIT Press, ISBN 0262011530
  • Paul Harmon, William Morrissey: The Object Technology Casebook - Lessons from Award-Winning Business Applications, John Wiley & Sons, ISBN 0-471-14717-6
  • David A. Taylor: Object-Oriented Information Systems - Planning and Implementation, John Wiley & Sons, ISBN 0-471-54364-0
  • Peter Eeles, Oliver Sims: Building Business Objects, John Wiley & Sons, ISBN 0-471-19176-0
  • Bernd Oestereich: Objektorientierte Programmierung mit der Unified Modeling Language, Oldenbourg, ISBN 3-486-24319-5
Buch-Tipp: Objektorientierte Analyse & Design von Kopf bis Fuß Eine Beschreibung zum Buch "Objektorientierte Analyse und Design von Kopf bis Fuß" finden Sie auf der Seite des Buchhändlers. Um dorthin zu gelangen klicken Sie bitte auf den Link oberhalb von diesem Text. Sie werden automatisch zu diesem Buchtitel weiter geleitet.

Siehe auch

Weiteres zu dem Artikel Objektorientierte Programmierung

Andere Leser interessierten sich auch für folgende Beschreibungen: C, Computer, Daten, Datentyp, Frederick, Funktion, Geschichte, Objektorientierung, Programmlogik, Ralph, Sachverhalt, Sorten, Subklasse, Vererbung, Verfahren, Wartbarkeit
Schnellzugrif auf verwandte Texte:
 
NEU! Frage im Forum zum Thema:
 
Wenn die Beschreibung 'Objektorientierte Programmierung' Ihrer Meinung nach nicht korrekt ist oder in aktueller Version Fehler enthalten sind oder es fehlt die Objektorientierte Programmierung Definition, dann klicken Sie bitte auf "Beschreibung bearbeiten" und schreiben Sie die Eigene Version des Textes. Die Änderungen in der Beschreibung werden sofort aktiv und für alle sichtbar. Ein Administrator wird Ihre Version der Beschreibung und Definition von 'Objektorientierte Programmierung' nachher prüfen. Bitte achten Sie auf die Urheberrechte (Copyright). Wir sind für die besseren Beschreibung von 'Objektorientierte Programmierung' und 'Objektorientierte Programmierung' Definition sehr dankbar.

Alle Tipps zu den Bücher auf dieser Seite wurden automatisch generiert. D.h. die Bücher wurden aus einer Datenbank von dem Computer ausgesucht. Deshalb kann es vorkommen, dass vorgeschlagene Bücher nicht ganz der 'Objektorientierte Programmierung' Beschreibung entsprechen.
· Diese Seite wurde bisher 2.741 mal abgerufen.
· Letzte Counteraktualisierung erfolgte am 12.05.2008 um 13:45:50
· Diese Seite wurde zuletzt geändert um 15:04, 2. Okt 2004.
· Letzte Portalaktualisierung erfolgte um 08:00:00 GMT, 25.02.2008
Dieser Artikel basiert auf dem Artikel Objektorientierte Programmierung aus der freien Enzyklopädie Wikipedia und steht unter der GNU-Lizenz für freie Inhalte. In der Wikipedia ist eine Autorenauflistung verfügbar.

Von ""

· Diese Seite wurde bisher 2.741 mal abgerufen.
· Letzte Counteraktualisierung erfolgte am 12.05.2008 um 13:45:51
· Diese Seite wurde zuletzt geändert um 15:04, 2. Okt 2004.
· Letzte Portalaktualisierung erfolgte um 08:00:00 GMT, 25.02.2008